package com.mdb.open.trade.domain.dto.trade;


/*
* Copyright (C), 2017-2019 澳发科技(MDB)
* FileName: TfLoanApplyItemInfoService.java
* Author:   you.yichao
* Date:     2019-10-11
* History:
* <author>          <time>          <version>          <desc>
* you.yichao         2019-10-11          V1.00             代码生成器初始生成代码
* -----------------------------------------------------------
* 作者姓名           修改时间           版本号            描述
*/

import com.mdb.bc.api.data.DataObjectBase;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* 类描述：
*  贸易融资申请商品信息表数据传输类
*
* @author you.yichao
* @date 2019-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="LoanApplyItemInfoDto", description="贸易融资申请商品信息表Dto对象")
public class LoanApplyItemInfoDto extends DataObjectBase {

    private static final long serialVersionUID = 1L;
    /**
    * 唯一性Id
    */
    @ApiModelProperty(value = "唯一性Id")
    @NotNull(message = "唯一性Id不允许为空")
    private Integer id;

    /**
    * 融资申请编号
    */
    @ApiModelProperty(value = "融资申请编号")
    @NotBlank(message = "融资申请编号不允许为空")
    private String applyOrderNo;

    /**
    * 融资申请商品编号
    */
    @ApiModelProperty(value = "融资申请商品编号")
    @NotBlank(message = "融资申请商品编号不允许为空")
    private String applyOrderItemNo;

    /**
    * 客户编码
    */
    @ApiModelProperty(value = "客户编码")
    @NotBlank(message = "客户编码不允许为空")
    private String customerCode;

    /**
    * 客户名称
    */
    @ApiModelProperty(value = "客户名称")
    @NotBlank(message = "客户名称不允许为空")
    private String customerName;

    /**
    * 商户编号
    */
    @ApiModelProperty(value = "商户编号")
    @NotBlank(message = "商户编号不允许为空")
    private String merchantNo;

    /**
    * 商户名称
    */
    @ApiModelProperty(value = "商户名称")
    @NotBlank(message = "商户名称不允许为空")
    private String merchantName;

    /**
    * 业务编号
    */
    @ApiModelProperty(value = "业务编号")
    @NotBlank(message = "业务编号不允许为空")
    private String businessNo;

    /**
    * 进口方中文名称
    */
    @ApiModelProperty(value = "进口方中文名称")
    private String itemCnName;

    /**
    * 进口方英文名称
    */
    @ApiModelProperty(value = "进口方英文名称")
    private String itemEnName;

    /**
    * hscode
    */
    @ApiModelProperty(value = "hscode")
    @NotBlank(message = "hscode不允许为空")
    private String hsCode;

    /**
    * 品牌
    */
    @ApiModelProperty(value = "品牌")
    private String brand;

    /**
    * 计量单位
    */
    @ApiModelProperty(value = "计量单位")
    private String unit;

    /**
    * 数量
    */
    @ApiModelProperty(value = "数量")
    private BigDecimal quantity;

    /**
    * 合同金额
    */
    @ApiModelProperty(value = "合同金额")
    private BigDecimal contractAmount;

    /**
    * 合同币种
    */
    @ApiModelProperty(value = "合同币种")
    private String contractCcy;

    /**
    * 报关单价
    */
    @ApiModelProperty(value = "报关单价")
    private BigDecimal customUnitAmount;

    /**
    * 报关单价币种
    */
    @ApiModelProperty(value = "报关单价币种")
    private String customUnitCcy;

    /**
    * 报关总价
    */
    @ApiModelProperty(value = "报关总价")
    private BigDecimal customTotalAmount;

    /**
    * 报关总价币种
    */
    @ApiModelProperty(value = "报关总价币种")
    private String customTotalCcy;

    /**
    * 贸易档案状态
    */
    @ApiModelProperty(value = "贸易档案状态")
    private String status;

    /**
    * 数据来源类型
    */
    @ApiModelProperty(value = "数据来源类型")
    @NotBlank(message = "数据来源类型不允许为空")
    private String sourceType;

}
